Location services are becoming a more common part of common computing devices. Global positioning system (GPS) chips first became common in dedicated devices for providing directions, but are becoming more and more common in mobile phones, portable gaming devices, and laptop computers. Computer software is beginning to use a devices current location to provide a variety of services, such as local listings (e.g., for restaurants or other services), directions, weather information, and so forth. Some operating systems have been updated to include location services application programming interfaces (APIs) that software applications can invoke to get location information in a consistent way (e.g., without modifications for different hardware types).
Geographic location affects more than just the types of retailers that a user might be interested in finding. For example, many countries have export laws that restrict types of encryption that can be included in devices in those countries. Other countries restrict transport of content protected by copyright. Thus, a user's location may change the legal framework that affects how the user is permitted to use a computing device.
An operating system is usually responsible for enforcing access controls to data and services, and sometimes expected to provide an audit trail showing which users performed which actions. Currently, access control decisions are typically based on a notion of a security principal, most often identified by a user identifier (e.g., a username and password), and little else. With mobile computing devices, data and services can be accessed in a wide variety of geographical locations. Operating systems do not currently leverage location information to make decisions. There are also situations where it is desirable to be able to prove that the computer was in a certain location when a specific action was performed, but location services are not used for such instances today.